from django.db import models
from django.contrib.auth.models import User,AbstractUser
# Create your models here.

#第一种: 一对一关系  不推荐使用
# class UserDetail(models.Model):
#     phone=models.BigIntegerField()
#     user=models.OneToOneField(to='User')


#第二种: 面向继承
class UserInfo(AbstractUser):
    '''
    如果继承了AbstractUser
    那么在执行数据库迁移的时候auth_user表就不会再创建出来了
    而userinfo表中会出现auth_user表中所有的字段 外加自己的所有字段

    好处:
    你能够直接点击你自己的表更加快速的完成操作及扩展

    前提
        1.在继承之前没有执行过数据迁移命令(auth_user没有被创建)
        2.继承的类里面不要覆盖AbstractUser里面的字段名
        3.需要在配置文件中告诉django你要用UserInfo替代auth_user
            AUTH_USER_MODEL='app01.UserInfo'

        你如果自己写表代替了auth_user那么
        auth模块的功能还是照常使用 参考的表也由原来的auth_user变成了UserInfo
    '''
    phone=models.BigIntegerField()

